// 数据统计
import {getModel, checkUpdate, getModifyTime, getTimeStr} from './utils/util.js';
const uma = require('./libs/umtrack-wx.js');
/**
 * 全局分享配置，页面无需开启分享
 * 使用隐式页面函数进行页面分享配置
 * 使用隐式路由获取当前页面路由，并根据路由来进行全局分享、自定义分享
 */
!(function () {
	// 获取页面配置并进行页面分享配置
	const PageTmp = Page;
	// eslint-disable-next-line no-global-assign
	Page = function (pageConfig) {
		// 1. 获取当前页面路由
		let routerUrl = '';
		wx.onAppRoute((res) => {
			// app.js中需要在隐式路由中才能用getCurrentPages（）获取到页面路由
			let pages = getCurrentPages();
			let view = pages[pages.length - 1];
			routerUrl = view.route;
		});

		// 2. 全局开启分享配置
		pageConfig = Object.assign({
			onShareAppMessage: () => {
				// 根据不同路由设置不同分享内容（微信小程序分享自带参数，如非特例，不需配置分享路径）
				let shareInfo = {};
				let noGlobalSharePages = ['canvas/get_qr_code/get_qr_code'];
				// 全局分享配置，如部分页面需要页面默认分享或自定义分享可以单独判断处理
				if (routerUrl.includes(noGlobalSharePages)) {
					shareInfo = {
						title: '动画样式库',
						// 自定义图片路径，可以是本地文件路径、代码包文件路径或者网络图片路径。支持PNG及JPG。显示图片长宽比是 5:4。
						imageUrl: 'https://file.cyzl.com/g001/M07/64/33/oYYBAGFSfj-AQ_uJAAAI33MhVfs467.png'
					};
				}
				return shareInfo;
			}
		}, pageConfig);
		// 配置页面模板
		PageTmp(pageConfig);
	};
}());
App({
	umengConfig: {
		appKey: '60b9a9624d0228352bbbada3', // 由友盟分配的APP_KEY
		// 使用Openid进行统计，此项为false时将使用友盟+uuid进行用户统计。
		// 使用Openid来统计微信小程序的用户，会使统计的指标更为准确，对系统准确性要求高的应用推荐使用Openid。
		useOpenid: true,
		// 使用openid进行统计时，是否授权友盟自动获取Openid，
		// 如若需要，请到友盟后台"设置管理-应用信息"(https://mp.umeng.com/setting/appset)中设置appId及secret
		autoGetOpenid: true,
		debug: false, // 是否打开调试模式
		uploadUserInfo: true, // 自动上传用户信息，设为false取消上传，默认为false
		enableVerify: true
	},
	globalData: {
		uma,
		userInfo: {},
		wxStepList: [],
		mobilePhoneMode: 1, // 手机型号标识
		systemInfo: {},
		brand: '', // 手机品牌
		model: '', // 手机型号
		capsule: '', // 胶囊
		statusBarHeight: 0,
		lock: undefined, // 网络请求锁
		loginBack: false, // 是否从登录页面返回
		timeDifference: 0, // 服务器时间和本机时间差
		mobilePhoneSystem: false, // false非ios     true:ios
		miniProgramJumpsIntoCarryingParameters: undefined, // 小程序进入携带参数
		calendarData: undefined,// 日历数据-记录全局,避免下次打开日历重新加载计算,影响性能
		choiceDateData: {// 进入新页面(非日期选择页面)需重置数据
			type: 1, // 1选择日期  2选择月份
			choiceData: undefined // 默认当前日期
		}
	},
	onLaunch (options) {
		this.globalData.choiceDateData.choiceData = getModifyTime(getTimeStr(), -1);
		// 初始化云函数
		wx.cloud.init({
			env: 'laoliu-xiaochengxu-3fe40b',// 环境ID
			traceUser: true
		});
		console.log(options);
		// 统计逻辑结束
		getModel(this);
		// 检查更新
		checkUpdate();
	}
});
